package com.zhijian.medical.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * 常规病理离体请求vo
 *
 * @author HCG
 * @version 1.0
 * @date 2024-06-26
 */
@Data
@Api(tags = "常规病理离体请求vo")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RoutineOffBodyVo implements Serializable {

    private static final long serialVersionUID = -7301044842956177241L;

    /**
     * 病人ID，新增不传
     */
    @ApiModelProperty("病人ID，新增不传")
    private Long id;

    /**
     * 床号
     */
    @ApiModelProperty("床号")
    private String ch;

    /**
     * 住院号
     */
    @ApiModelProperty("住院号")
    private String zyh;

    /**
     * 病区
     */
    @ApiModelProperty("病区")
    private String bq;

    /**
     * 姓名
     */
    @ApiModelProperty("姓名")
    private String name;

    /**
     * 性别，0：男，1：女
     */
    @ApiModelProperty("性别，0：男，1：女")
    private Byte sex;

    /**
     * 年龄
     */
    @ApiModelProperty("年龄")
    private Integer age;

    /**
     * 手术时间
     */
    @ApiModelProperty("手术时间")
    private String ssDate;

    /**
     * 手术者
     */
    @ApiModelProperty("手术者")
    private String ssz;

    /**
     * 护士
     */
    @ApiModelProperty("护士")
    private String hs;

    /**
     * 病毒感染，1：是，0：否
     */
    @ApiModelProperty("病毒感染，1：是，0：否")
    private Byte bgGr;

    /**
     * 病毒类型，只有病毒感染为是时才需要
     */
    @ApiModelProperty("病毒类型，只有病毒感染为是时才需要")
    private String bdType;

    /**
     * 样本列表
     */
    @ApiModelProperty("样本列表")
    @Valid
    @NotNull(message = "样本列表不能为空")
    @Size(min = 1, message = "样本列表不能为空")
    private List<RoutineSampleSaveOrUpdateVo> sampleList;
}
